<?php

class Console {

	public static $message;
	/**
	 * @method สร้างข้อมูลพื้นฐานเพื่อจะใช้ในการเขียนข้อมูลออกทาง Console สำหรับการ Debug 
	 * @param ไม่มี
	 * @return ไม่มี
	 * @example Console::start();
	 */
	public static function start() {

		if(SysConfig::$console)
		{
			if (!defined("LOG"))    define("LOG",1);
			if (!defined("INFO"))   define("INFO",2);
			if (!defined("WARN"))   define("WARN",3);
			if (!defined("ERROR"))  define("ERROR",4);

			define("NL","\r\n");
// 			echo '<script type="text/javascript">'.NL;

// 			/// this is for IE and other browsers w/o console
// 			echo  'if (!window.console) console = {};';
// 			echo 'console.log = console.log || function(){};';
// 			echo 'console.warn = console.warn || function(){};';
// 			echo 'console.error = console.error || function(){};';
// 			echo 'console.info = console.info || function(){};';
// 			echo 'console.debug = console.debug || function(){};';
// 			echo '</script>';
// 			/// end of IE
		}
	}
	
	/**
	 * @method เขียนข้อมูลออกทาง Console สำหรับใช้ในการ Debug โปรแกรม
	 * @param name = ข้อความที่ต้องการแสดงใน Console, var= , type=ชนิดของการเขียน เช่น อยากให้แสดงแบบ LOG, ERROR หรือแค่เตือน (Warning)
	 * @return ไม่มี
	 * @example Console::write("ทดสอบ");
	 */
	public static function write($name, $var = null, $type = LOG) {
		
		
		if(SysConfig::$console)
		{
			$file = new File();
			$file->setFileName(SysConfig::$logFileName);
			$file->setFilePath(SysConfig::$consoleLogPath);
			
			switch($type) {
				case LOG:
					$file->writeTail("[LOG]:".$name);
					break;
				case INFO:
					$file->writeTail("[INFO]:".$name);
					break;
				case WARN:
					$file->writeTail("[WARN]:".$name);
					break;
				case ERROR:
					$file->writeTail("[ERROR]:".$name);
					break;
			}
		}
	}

	/**
	 * @method ดึง url ของเว็ปไซท์
	 * @param หากต้องการดึงข้อมูลเว็ปไซท์เท่านั้นไม่ต้องใส่ แต่จะใส่ ตัวแปรเพื่อต้องการดึงค่า url โดยระบุ subdomain
	 * @return string
	 * @example Config::site()/xxx.html
	 */
	public static function writeToConsole()
	{
		if(SysConfig::$console)
		{
			echo self::$message;
			self::$message = "";
		}
	}
}

?>